package lianxi;

import java.util.Random;

/**
 * 3 声明一个共享数组，起两个线程，两个线程分别隔一段时间(可以写一个随机数)，给数组中添加数据，每一个线程为数组添加3个数据即可。
 * 
 * @author lenovo
 * @date 2020年7月30日 @time 上午9:32:44
 */
public class _03_ {

	public static void main(String[] args) {
		T1 t1 = new T1();
		T1 t2 = new T1();
		t1.setName("第一个线程！");
		t2.setName("第二个线程！");
		t1.start();
		t2.start();
	}

}

//声明线程类
class T1 extends Thread {
	private static int arr[] = new int[6];
	private static int j = 0;

	public void run() {
		for (int i = 0; i < 3; i++) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {

				e.printStackTrace();
			}
			add();
		}
	}

	// 添加方法
	public void add() {
		// 类锁,保证同步代码同一时间只有一个在执行
		synchronized (T1.class) {
			Random r = new Random();
			int num = r.nextInt(100) + 1;
			arr[j] = num;
			System.out.println(Thread.currentThread().getName() + "arr[" + j + "]=" + num);
			j++;
		}

	}
}
